package br.gov.mi.corporativo.dominio.boundary.rhmi.funcionario;

import java.util.Date;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import br.gov.mi.corporativo.dominio.entidade.rhmi.Funcionario;

@WebService
public interface FuncionarioEndPoint {
	
	@WebMethod(operationName = "recuperarTodos")
	public @WebResult(name="funcionarios")List<Funcionario> recuperarTodos(); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorIdFuncionario")
	public @WebResult(name="funcionario")Funcionario recuperarPorIdFuncionario(
		   @WebParam(name="idFuncionario")Long idFuncionario ); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorIdTratamento")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorIdTratamento(
		   @WebParam(name="idTratamento")Long idTratamento); 
	
	
	@WebMethod(operationName = "recuperarFuncionarioPorIdProfissao")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorIdProfissao(
		   @WebParam(name="idProfissao")Long idProfissao); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorIdMunicipioNascimento")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorIdMunicipioNascimento(
		   @WebParam(name="idMunicipioNascimento")Long idMunicipioNascimento); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorNrMatriculaSiape")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorNrMatriculaSiape(
		   @WebParam(name="nrMatriculaSiape")String nrMatriculaSiape); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorNmPessoaFisica")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorNmPessoaFisica(
		   @WebParam(name="nmPessoaFisica")String nmPessoaFisica); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorDtNascimento")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorDtNascimento(
		   @WebParam(name="dtNascimento")Date dtNascimento); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorStSexo")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorStSexo(
		   @WebParam(name="stSexo")Boolean stSexo); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorCsGrupoSanguineo")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorCsGrupoSanguineo(
		   @WebParam(name="csGrupoSanguineo")String csGrupoSanguineo); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorCsFatorRh")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorCsFatorRh(
		   @WebParam(name="csFatorRh")String csFatorRh); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorCsCor")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorCsCor(
		   @WebParam(name="csCor")String csCor); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorCsEstadoCivil")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorCsEstadoCivil(
		   @WebParam(name="csEstadoCivil")String csEstadoCivil); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorNmPai")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorNmPai(
		   @WebParam(name="nmPai")String nmPai); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorNmMae")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorNmMae(
		   @WebParam(name="nmMae")String nmMae); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorDsLoginMi")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorDsLoginMi(
		   @WebParam(name="dsLoginMi")String dsLoginMi); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorDsSenha")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorDsSenha(
		   @WebParam(name="dsSenha")String dsSenha); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorStAtivo")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorStAtivo(
		   @WebParam(name="stAtivo")String stAtivo); 
	
	@WebMethod(operationName = "recuperarFuncionarioPorStRegistro")
	public @WebResult(name="listaFuncionario")List<Funcionario> recuperarPorStRegistro(
		   @WebParam(name="stRegistro")String stRegistro); 
	

	
   
}
